Silicon fingerprinting technology offers an inexpensive technique for generating unique digital signatures or identifications. According to one fingerprinting technology, the fabrication of a silicon die including chip features that are not perfectly precise creates a random effect that can be used to generate a random binary number. A circuit is embedded into each chip including a series of small, tightly-packed transistors and a comparator that compares the relative voltages between adjacent transistors. The impurities of dopant levels and variations in size among individual transistors that naturally occur in metal-oxide semiconductors result in varying voltage levels across transistors when they are powered up. According to the technology, a comparison of voltage levels among transistors yields a binary number unique to the chip. Specifically, starting at the first transistor or bit, the comparator compares the voltage of the first transistor to the voltage of the adjacent transistor. If the voltage level of the first transistor is less than that of the second transistor, the comparator yields a “0” for that bit. Conversely, if the voltage level of the first transistor exceeds the voltage level of the adjacent transistor, the comparator yields a value of “1.” This process is repeated for each transistor in the series to yield the binary number resulting from the varying voltage levels of each transistor.
The number of bits in the ID depends on how many transistors the circuit includes. During production, each bit sequence acquires a random pattern resulting from differences in dopant levels and size among individual transistors. The result is a group of chips that have essentially inherited a identification as part of the manufacturing process, wherein each chip ends up with a sequence that is unique. If the silicon chip has enough transistors (bits), it can be used as a serial number or other device identification. According to the technology, the unique signature or identification is simply read from the chip when it is powered up. This bit sequence can be probed and stored in a database with pertinent information for later use.
Silicon fingerprinting technology is not perfectly precise, however, in that the same circuit may not yield the same binary number upon successive reads of the chip. As described above, the random value of a particular bit is a function of an imbalance between the physical attributes of two transistors on the chip. Sometimes, the voltage difference between adjacent transistors is so small, the comparator can not reliably indicate which transistor is relatively high or low, causing certain of these bits to “flip” during some reads of the circuit. According to Siidtech, Inc. of Beaverton, Oreg., up to 5% of the bits in a given circuit can flip from one read to another. One solution to address the uncertainty is to use enough bits in the serial number to make it statistically impossible for a flipping of bits to cause misinterpretation of one serial number into another one. For example, a 512-bit sequence results in an enormous hamming distance (number of bit flips that could cause a misread) rendering it quite easy to unambiguously identify the original candidate. The method advocated by Siidtech, Inc. involves computing a distance between the number read from the circuit and all candidates stored in the database. In one form, an initial sequence of bits is used as an index to identify a list of candidates for further matching. However, this process can be problematic as the number of candidates grows large since the processing demands involved in verifying a digital fingerprint can become prohibitive, especially in situations where the digital fingerprint must be quickly identified. In light of the foregoing, a need exists for methods, apparatuses and systems that address the instabilities inherent in existing digital fingerprint technologies.